package com.umfwechat.lightprogram.controller.my;

import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONObject;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.umfwechat.common.code.RetCode;
import com.umfwechat.util.ReqMessageUtil;
import com.umpay.sp.service.saas.remote.BusiExpansionServiceRemote;


/**
 * 意见反馈
 * @author xuhuibing
 *
 */

@Controller
@RequestMapping("/feedback")
public class FeedBackController {
	private static Logger logger = LoggerFactory.getLogger(FeedBackController.class);
	
	
	@Resource
	private BusiExpansionServiceRemote busiExpansionServiceRemote;
	
	@RequestMapping(value="/feedBackAdd",produces="application/json;charset=UTF-8")
	@ResponseBody
	public JSONObject feedBackAdd(HttpServletRequest request,HttpServletResponse Response){
	
		JSONObject json = new JSONObject();
		json.put("retCode", RetCode.SUCCESS);
		json.put("retMsg","意见反馈成功");
		
		//收集客户端请求数据--测试
		String reqJSON = null;
		try {
			reqJSON = (String) request.getAttribute("_requestData");
			logger.info("保存意见反馈信息>>>" + reqJSON);
		} catch (Exception e) {
			json.put("retCode", "0001");
			json.put("retMsg", "意见反馈获取失败");
			logger.error("意见反馈获取异常", e);
			return json;
		}
		JSONObject param=JSONObject.fromObject(reqJSON);
		String storeShortName = param.optString("loginAgentId");//代理商编号
		String submitName = param.optString("loginUserId");//用户名
		String type = param.optString("type");//00:想成为商户，01：想成为代理商，02：意见反馈
		String state = param.optString("state");//处理状态:state 0-待处理 1-已处理
		String feedBack = param.optString("feedBack");//反馈内容
		logger.info("====☆ ☆ ☆ ☆ ☆=====添加意见反馈内容接口 开始====☆ ☆ ☆ ☆ ☆=====");
		
		//本地
//		String submitName = request.getParameter("loginUserId");//提交人姓名:submitName
//		String type = request.getParameter("type");//00:想成为商户，01：想成为代理商，02：意见反馈
//		String state = request.getParameter("state");//处理状态:state 0-待处理 1-已处理
//		String feedBack = request.getParameter("feedBack");//反馈内容
//		String storeShortName = request.getParameter("loginAgentId");//代理商编号
//		logger.info("添加意见反馈内容接口 开始");
		
		com.umpay.sp.model.common.ReqMessage req = ReqMessageUtil.makeSpReq(); //组装企业版dubbo接口的请求头
		Map<String, String> reqMap = req.getReqMap();
		//设置请求参数
		reqMap.put("submitName", submitName);//提交人姓名
		reqMap.put("type", type);//类型
		reqMap.put("state", state);//处理状态
		reqMap.put("feedBack", feedBack);//意见反馈
		reqMap.put("storeShortName", storeShortName);//转为代理商编号
		
		com.umpay.sp.model.common.ResMessage res=null;
		try {
			logger.info("====☆ ☆ ☆ ☆ ☆===== 保存意见反馈 请求参数: " +req + "====☆ ☆ ☆ ☆ ☆=====");
			res = busiExpansionServiceRemote.saveBusiExpansion(req);
			logger.info("====☆ ☆ ☆ ☆ ☆===== 保存意见反馈 返回参数: " +req + "====☆ ☆ ☆ ☆ ☆=====");
		} catch (Exception e) {
			json.put("retCode", "0001");
			json.put("retMsg", "系统异常，请稍后再试");
			logger.info("====☆ ☆ ☆ ☆ ☆=====调用意见反馈接口异常：" + e + "====☆ ☆ ☆ ☆ ☆=====");
			return json;
		}
		//判断返回码是否是0000
		String retCode = res.getRetCode();
		if(!retCode.equals("0000")){
			json.put("retCode", "0001");
			json.put("retMsg", "保存意见反馈失败！");
			return json;
		}
		return json;
	}
}
